Elaborato che nasce dal libro "Intelligenza artificiale". Viene preso in esame il concetto di intelligenza artificiale, illustrando i primi esperimenti di calcolatori realizzati con l'intento di emulare il pensiero umano. Sono prese in esame le teorie di Simon e Newell e i tentativi di riprodurre con la visione artificiale il mondo tridimensionale.
Intelligenza artificiale
di Carlo Cilia
Elaborato che nasce dal libro "Intelligenza artificiale". Viene preso in esame il
concetto di intelligenza artificiale, illustrando i primi esperimenti di calcolatori
realizzati con l'intento di emulare il pensiero umano. Sono prese in esame le
teorie di Simon e Newell e i tentativi di riprodurre con la visione artificiale il
mondo tridimensionale.
Università: Università degli Studi di Catania
Facoltà: Lettere e Filosofia
Esame: Filosofia della scienza1. Intelligenza artificiale. Approccio ingegneristico e psicologico
Quando parliamo di IA ci riferiamo contemporaneamente a due approcci metodologici attraverso i quali essa
è stata presentata: ingegneristico e psicologico. Questo ci porta da subito a cogliere la difficoltà per una
definizione univoca ed esaustiva dell’Intelligenza artificiale.
Sotto il profilo ingegneristico l’IA si occupa prevalentemente della costruzione di macchine che possano
assistere l’uomo se non addirittura sostituirlo in certe operazioni computazionali; come disciplina
psicologica l’IA si occupa invece della costruzione di macchine che riescano il più possibile a riprodurre
l’attività cognitiva umana, gettando quando è possibile nuova luce su enigmi quali quello del rapporto
mente-corpo.
Oggi probabilmente la definizione (ma in realtà non si tratta di una vera e propria definizione) più
comunemente accettata è quella che è stata data durante un seminario tenutosi negli Stati Uniti nel 1956 da
diversi studiosi tra cui John McCarty e Marvin Minsky: l’obiettivo dell’IA è quello di costruire macchine in
grado di usare il linguaggio, di formare astrazioni e concetti, di migliorare se stesse e risolvere problemi che
sono ancora di esclusiva pertinenza degli esseri umani1.
Carlo Cilia Sezione Appunti
Intelligenza artificiale 2. Macchine intelligenti, calcolatori generali e salto condizionato
Fu infatti nel corso di quello storico seminario che si gettarono le basi per la costruzione delle cosiddette
“macchine intelligenti”, ossia calcolatori digitali con capacità di elaborazione simbolica di gran lunga
superiori rispetto alle macchine costruite fino ad allora: stiamo proprio parlando di quelle macchine
“intelligenti” che riuscivano ad elaborare programmi in grado di giocare a dama e a scacchi, con una
capacità di auto-miglioramento in grado di portarli a battere ottimi giocatori (umani ovviamente).
La definizione suddetta però ha il limite di non considerare adeguatamente il ruolo dell’elaborazione
simbolica di cui le nuove macchine devono essere capaci.
Torneremo a questo tra un momento; per ora è importante sottolineare che le macchine prescelte per
realizzare i sistemi di IA sono le macchine digitali. Questi calcolatori vengono chiamati calcolatori generali:
essi non sono allora semplici calcolatori ma hanno la caratteristica fondamentale che li distingue da tutti gli
altri di essere macchine simboliche ossia capaci di manipolare strutture di simboli che il programmatore fa
corrispondere alle entità più diverse: parole, espressioni matematiche, posizioni del gioco degli scacchi e
così via.
Ma ciò che in ultima analisi diede la possibilità di parlare di macchine “intelligenti” fu, assieme alla loro
capacità simbolica, anche la presenza dell’istruzione di salto condizionato. Il salto condizionato consiste
nella capacità della macchina di “scegliere” se eseguire una operazione piuttosto che un’altra: se in un caso
si verificano determinate circostanze allora la macchina sceglie una soluzione; se al contrario si verifica il
suo opposto essa sceglierà una soluzione diversa da quella che avrebbe scelto nel caso precedente. Insomma
il salto condizionato è quella caratteristica che conferisce alla macchina “capacità discriminativa”.
Carlo Cilia Sezione Appunti
Intelligenza artificiale 3. EDSAC e procedimenti algoritmici
L’EDSAC è il primo calcolatore (1949) dotato di memoria capace di memorizzare non solo i dati che
vengono elaborati, ma anche i procedimenti che si utilizzano per elaborarli, ossia il programma che permette
di elaborare i dati. Il programma non è altro che una serie di procedimenti algoritmici. Dare una definizione
ad un programma dipende quindi dalla nozione di algoritmo che risulta in verità essere dai contorni sfumati.
È vero però che attraverso alcuni studi sono state rilevate alcune caratteristiche fondamentali degli algoritmi,
grazie alle quali è stato possibile dare una “definizione” quanto meno approssimativa. Si è visto infatti, per
portare un esempio particolarmente importante, a partire dalla tesi di Church-Turing, che i procedimenti
algoritmici sono in grado di calcolare una funzione. Nello specifico la tesi suddetta afferma: ogni funzione
calcolabile mediante un procedimento algoritmico è calcolabile da una macchina di Turing1.
Carlo Cilia Sezione Appunti
Intelligenza artificiale 4. Intelligenza artificiale e macchina di Turing
Per capire tale affermazione bisogna almeno avere una idea generale di cosa sia una macchina di Turing: si
tratta di un calcolatore idealizzato, nel senso che per concepirlo si prescinde dalla sua esistenza fisica, la
quale potrebbe creare problemi di ordine limitativo. Ad essa non si impongono neanche limitazioni di
calcolo o di durata dei processi di calcolo e si assume che la macchina funzioni sempre perfettamente. Le
operazioni che essa è in grado di compiere sono estremamente elementari: è formata da caselle all’interno
delle quali stanno informazioni e al contempo di una testina che ha il compito di leggere tali informazioni,
stampare o cancellare informazioni già presenti sulla casella che osserva, a partire da una precisa
configurazione interna. Le operazioni che essa può eseguire dipendono quindi dal fatto che tale testina si
muove da sinistra a destra o viceversa, procedendo ad una casella per volta, cambiando quindi di volta in
volta la propria configurazione interna.
È chiaro che una macchina così pensata, nonostante il suo carattere di illimitatezza riguardo alla durata dei
processi, al numero delle operazioni, e di infallibilità implichi allo stesso tempo condizioni di finitezza (in
ordine al numero di informazioni che può leggere, stampare, cancellare, all’alfabeto di simboli che utilizza)
e di determinatezza (essa può compiere al più un’istruzione per ogni istante).
Carlo Cilia Sezione Appunti
Intelligenza artificiale 5. Macchine di Turing potenzialmente universali
Quando si parla delle macchine di Turing si parla anche di macchine di Turing potenzialmente universali:
con questa espressione si suole indicare quelle macchine che sono in grado di calcolare tutte le funzioni
calcolabili da ogni macchina di Turing, ossia in grado di simulare fedelmente il comportamento di una
qualsiasi macchina di Turing.
Per concludere vanno messe in luce le motivazioni che portarono alla tesi di Church-Turing; principalmente
il motivo che spinse alla formulazione di tale tesi fu l’esigenza di generalizzare i teoremi di incompletezza
scoperti da Godel nel 1931.
Secondo quanto afferma questo studioso infatti è impossibile trovare un procedimento algoritmico che
consenta di generare al contempo tutti gli enunciati veri dell’aritmetica elementare senza che si generi
nessun enunciato falso.
Questo problema però neanche la tesi Church-Turing è riuscita a risolverlo; ciò significa che non è possibile
attraverso procedimenti algoritmici generare tutti gli enunciati dell’aritmetica che siano veri (se così fosse il
procedimento algoritmico sarebbe incompleto).
Questo in ultima analisi significa che nell’ambito dell’IA o ci si accontenta dell’incompletezza delle
operazioni che una macchina può compiere o si deve ammettere la sua fallibilità.
Carlo Cilia Sezione Appunti
Intelligenza artificiale 6. Intelligenza artificiale e programmazione euristica
Abbiamo detto che l’intelligenza delle macchine fu primariamente identificata con la loro capacità selettiva
o euristica (idea chiaramente presa a prestito dallo studio dei processi del pensiero della mente umana).
La programmazione euristica è un procedimento che è stato in grado di rispondere alle sfide della
complessità algoritmica. In particolare potremmo prendere in considerazione i sistemi basati sulla
conoscenza che sono tipicamente basati sulla programmazione euristica, e tra questi sistemi ancora più in
dettaglio possono esser presi in considerazione i sistemi esperti. Questi richiedono innanzitutto la
registrazione delle conoscenze e delle tecniche che l’esperto umano utilizza. Queste conoscenze vengono
registrate in strutture di dati chiamate basi di conoscenza. Ciò che la macchina fa è, sempre attraverso
procedimenti logaritmi, simulare le tecniche di ragionamento euristico dell’esperto umano.
Va detto però che tali procedimenti non permettono di affrontare adeguatamente alcuni problemi che
soggiacciono alla modalità di conoscenza umana:
conoscenza tacita: varie forme di comportamento sono guidate da quello che comunemente noi chiamiamo il
saper fare, ossia un tipo di conoscenza, diremmo quasi “intuitiva” (anche se il termine può essere
decisamente fuorviante) nel senso che non è facilmente (se non del tutto) descrivibile attraverso regole
esplicite di conoscenza
azione in tempo reale: ossia la capacità ad esempio di attraversare la strada senza essere investiti nel caso in
cui una macchina sta per venirci addosso. Questo vuol dire che le macchine non sempre riescono a dare
soluzioni ottimali in tempi utili
robustezza: i sistemi elaborati dai progettisti risultano essere fragili, sono cioè spesso incapaci di operare al
di fuori delle situazioni previste dai progettisti.
Carlo Cilia Sezione Appunti
Intelligenza artificiale